﻿using log4net;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CAD
{
    public class DAOMensaje : DAO
    {
        ILog logger = LogManager.GetLogger(typeof(DAOMensaje));     


       #region Attributes
       private static DAOMensaje singleton;
       #endregion 

        #region Singleton
        public static DAOMensaje Instance()
        {
            if (singleton == null)
            {
                singleton = new DAOMensaje();
            }
            return singleton;
        }
        protected DAOMensaje()
        {
        }
        #endregion 

        #region DML
        public int Insertar(DTOMensaje data)
        {
            DbCommand cmd = defaultDB.GetStoredProcCommand("mensaje_insert");
            defaultDB.AddOutParameter(cmd, "id", DbType.Int32, 84);
            defaultDB.AddInParameter(cmd, "asunto", DbType.String, data.Asunto);
            defaultDB.AddInParameter(cmd, "contenido", DbType.String, data.Contenido);

            if (defaultDB.ExecuteNonQuery(cmd) == 1)
            {
                logger.Info("Se ejecuto el procedimiento exitosamente");
                return Convert.ToInt32(defaultDB.GetParameterValue(cmd, "id"));
            }
            logger.Info("Fallo la ejecucion del procedimiento");
            return 0;
        }
        #endregion

    }
}
